﻿// Unity built-in shader source. Copyright (c) 2016 Unity Technologies. MIT license (see license.txt)

Shader "Custom/Qx2DLight/Sprites/Light-Sprite"
{
    Properties
    {
        [PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {}
        _Color ("Tint", Color) = (1,1,1,1)
        
        [MaterialToggle] PixelSnap ("Pixel snap", Float) = 0
        [HideInInspector] _RendererColor ("RendererColor", Color) = (1,1,1,1)
        [HideInInspector] _Flip ("Flip", Vector) = (1,1,1,1)
        [PerRendererData] _AlphaTex ("External Alpha", 2D) = "white" {}
		[PerRendererData] _EnableExternalAlpha("Enable External Alpha", Float) = 0
		 _LightVolumeIntensity("Light Volume Intensity", Float) = 0.2
		[HideInInspector] _LightSpriteFlag("LightFlag", Float) = -1

	}

		SubShader
		{
			Tags
			{
				"Queue" = "Transparent"
				"IgnoreProjector" = "True"
				"RenderType" = "Transparent"
				"PreviewType" = "Plane"
				"CanUseSpriteAtlas" = "True"
				"QxLightingSprite" = "True"
			}

			Cull Off
			Lighting Off
			ZWrite Off
Blend One OneMinusSrcAlpha

			Pass //0
			{
			CGPROGRAM
				#pragma vertex SpriteVert
				#pragma fragment SpriteFrag2
				#pragma target 2.0
				#pragma multi_compile_instancing
				#pragma multi_compile _ PIXELSNAP_ON
				#pragma multi_compile _ ETC1_EXTERNAL_ALPHA


				#define SCREEN_LIGHT
			#include "UnitySprites.cginc"
			/*
			struct v2f
			{
				float4 vertex   : SV_POSITION;
				fixed4 color    : COLOR;
				float2 texcoord : TEXCOORD0;
				UNITY_VERTEX_OUTPUT_STEREO
			};*/

				float _LightSpriteFlag;
		float _LightVolumeIntensity;


        fixed4 SpriteFrag2(v2f IN) : SV_Target
        {
        
            fixed4 c = SampleSpriteTexture (IN.texcoord) * IN.color * fixed4(fixed3(-1,-1,-1) * _LightVolumeIntensity,1);
		c.a *= _LightVolumeIntensity;
            c.rgb *= c.a;
            return c;
        }

        ENDCG
        }

      
    
    }   
   
}
